Multiple Household Management

ABSTRACT

Embodiments described herein include systems and methods for providing a management interface for controlling multiple households. The management interface may be provided as an application on a mobile device or as an Internet webpage. An example implementation involves a device displaying representations of: a plurality of households; an indication of a selected household; one or more zones within the selected household; and a representation of media being played by a selected zone of the one or more zones. While displaying the representations, the device receives, from a server, data indicating updated information associated with the plurality of households; and, in response, updates the graphical display to display at least an updated representation of media being played by the selected zone.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims priority under 35 U.S.C. § 120 to, and is acontinuation of, U.S. non-provisional patent application Ser. No.16/812,638, filed on Mar. 9, 2020, entitled “Multiple HouseholdManagement,” and issued as U.S. Pat. No. 11,032,617 on Jun. 8, 2021,which is incorporated herein by reference in its entirety.

U.S. non-provisional patent application Ser. No. 16/812,638 claimspriority under 35 U.S.C. § 120 to, and is a continuation of, U.S.non-provisional patent application Ser. No. 16/458,453, filed on Jul. 1,2019, entitled “Multiple Household Management,” and issued as U.S. Pat.No. 10,587,928 on Mar. 10, 2020, which is incorporated herein byreference in its entirety.

U.S. non-provisional patent application Ser. No. 16/458,453 claimspriority under 35 U.S.C. § 120 to, and is a continuation of, U.S.non-provisional patent application Ser. No. 16/143,301, filed on Sep.26, 2018, entitled “Multiple Household Management Interface,” and issuedas U.S. Pat. No. 10,341,736 on Jul. 2, 2019, which is incorporatedherein by reference in its entirety.

U.S. non-provisional patent application Ser. No 16/143,301 claimspriority under 35 U.S.C. § 120 to, and is a continuation of, U.S.non-provisional patent application Ser. No. 15/227,074, filed on Aug. 3,2016, entitled “Media Experience Social Interface,” and issued as U.S.Pat. No. 10,097,893 on Oct. 9, 2018, which is incorporated herein byreference in its entirety.

U.S. non-provisional patent application Ser. No. 15/227,074 claimspriority under 35 U.S.C. § 120 to, and is a continuation of, U.S.non-provisional patent application Ser. No. 13/748,357, filed on Jan.23, 2013, entitled “System and Method for a Media Experience SocialInterface,” issued as U.S. Pat. No. 9,510,055 on Nov. 29, 2016, which isincorporated herein by reference in its entirety.

FIELD OF THE DISCLOSURE

The disclosure is related to consumer goods and, more particularly, tosystems, products, features, services, and other items directed to mediaplayback or some aspect thereof.

BACKGROUND

Technological advancements have increased the accessibility of musiccontent, as well as other types of media, such as television content,movies, and interactive content. For example, a user can access audio,video, or both audio and video content over the Internet through anonline store, an Internet radio station, a music service, a movieservice, and so on, in addition to the more traditional avenues ofaccessing audio and video content. Demand for audio, video, and bothaudio and video content inside and outside of the home continues toincrease.

BRIEF DESCRIPTION OF THE DRAWINGS

Features, aspects, and advantages of the presently disclosed technologymay be better understood with regard to the following description,appended claims, and accompanying drawings where:

FIG. 1 shows an example configuration in which certain embodiments maybe practiced;

FIG. 2A shows an illustration of an example zone player having abuilt-in amplifier and transducers;

FIG. 2B shows an illustration of an example zone player having abuilt-in amplifier and connected to external speakers;

FIG. 2C shows an illustration of an example zone player connected to anA/V receiver and speakers;

FIG. 3 shows an illustration of an example controller;

FIG. 4 shows an internal functional block diagram of an example zoneplayer;

FIG. 5 shows an internal functional block diagram of an examplecontroller;

FIG. 6 shows an example ad-hoc playback network;

FIG. 7 shows a system of a plurality of networks including a cloud-basednetwork and at least one local playback network;

FIG. 8 shows an example system configuration between a media experiencesocial interface and zone player households;

FIG. 9A shows an example flow diagram for updating a media experiencesocial interface;

FIG. 9B shows an example flow diagram for providing a media experiencesocial interface;

FIG. 10A shows an example first media experience social interface;

FIG. 10B shows an example second media experience social interface; and

FIG. 11 shows an example interface for modifying a media experiencesharing configuration.

In addition, the drawings are for the purpose of illustrating exampleembodiments, but it is understood that the inventions are not limited tothe arrangements and instrumentality shown in the drawings.

DETAILED DESCRIPTION I. Overview

Embodiments described herein include systems and methods, among numerousother inventions, for providing a social interface for sharing mediaexperience information between a community of households. In thefollowing description, a household may refer to any particular locationhaving a media system through which people at the location mayexperience media. By way of illustration, a location might include aresidential unit, a commercial or retail business, an office, a hotel, aboat, a vehicle, an outside location such as a park, and so on. A groupof different households (e.g., households of family, friends, and/oracquaintances) may form a community. In this case, the system of eachhousehold in the community may share information with one another, viathe Internet, for example. In some embodiments, the system of eachhousehold in the community communicates with one another. In otherembodiments, the system of each household in the community communicateswith a central server or database. In one example, the social interfacemay display a list of households in the community, and a user of thesocial interface may then select a household from the list to, amongother actions, view information on media being experienced within aparticular household in the community.

In some cases, a particular household in the community may includeseparate groups (or zones) of media players configured to render mediain synchrony. As such, the social interface may display, upon selectionof the particular household, a list of the groups of media playersincluded in the selected household. In this case, the user may thenselect a group from the list of groups to view information on mediabeing rendered by the media players in the selected group. In additionto information on media being rendered by the selected group, the socialinterface may also provide information on other media accessible by theselected group, such as a playlist or music library associated with theselected group.

In some cases, if a user is interested in the media being experienced atanother household in the community, the user may retrieve a copy of theinformation to view locally. For instance, if a person at the communityhousehold is enjoying a music playlist of interest to the user, theuser's own household system may retrieve a copy of the playlist. In oneinstance, the copy of the playlist may strictly be a listing of media,and may not necessarily include access to media in the playlist.

In another case, the user may also choose to experience locally the samemedia being experienced by another household in the community. Forinstance, if the user retrieved a copy of the music playlist enjoyed bya friend in the friend's household, the user may play locally in theuser's household, from the music playlist, media the user has accessrights to. The user may access the media from the user's account of thesame service used by the friend, a different media service, or via alocal library of media. Metadata or another form of identification maybe used to identify and locate the media for play back.

In yet another case, the user may choose to experience locally the samemedia being experienced in another household by selecting a zone or zonegroup of the other household to play the same media. As such, a playeror group of players in the local household may be directed over theInternet to a player or group of players in the other household toretrieve and play the media. In one example, the user may experience themedia via the access rights of the other household. For instance, aplayer in the local household may be given a URL that addresses anappropriate device or player in the other household. In another example,the user may experience the media via the access rights of the user incases where the access rights of the user enable the user to obtain thesame or substantially similar media as the other household.

In a further case, the user may control the media experienced by anotherhousehold of the community. In some embodiments this calls for the otherhousehold to have given control access to the user. For instance, afriend may ask the user to introduce him/her to new music, and mayprovide control access rights to the user. In this instance, the usermay, via the user's social interface, browse music accessible by thefriend and pick out music to be rendered in the friend's household forthe friend to experience. In another instance, the friend may ask theuser to put together or “DJ” a playlist of songs for a gathering laterin the friend's household. In this instance, the friend may providecontrol access rights to the user, and the user may, via the socialinterface, generate a playlist from media accessible by the friend, tobe rendered in the friend's household.

In one example, the social interface discussed above may be provided tothe user on a personal device of the user. The personal device may be amobile media player such as an APPLE IPOD®, or a smart phone such as anAPPLE IPHONE® or any ANDROID™ powered phone that may be configured to bein communication with the media systems and households in the community.In this example, the social interface may be in the form of a softwareapplication on the personal device. In another example, the socialinterface may be provided on a controller of one or more media systemsin a household. In this example, the controller may also be in the formof an application on the personal device. In some cases, the socialinterface may be included with the controller application.

In yet another example, the social interface may be provided on awebsite on the World Wide Web accessible over the Internet, or via a“cloud” computing service. In this example, the user may log on to awebsite (via a web browser on a computer or web browsing application ona personal device) to access the social interface to view information onmedia experiences, retrieve the media experience information, and/orcontrol the media experiences of the friend.

As discussed above, systems and methods, among other inventions, forsharing media experience information among households are providedherein. In particular, a social interface for displaying the mediaexperience information is discussed. In one aspect, a method fordisplaying media information for a household of a community ofhouseholds on a display screen is provided. The method involvesdisplaying on a display screen a representation of a zone player groupassociated with a household responsive to receipt of a command to selectthe household from a community of households, and displaying on thedisplay screen a representation of media being rendered by the zoneplayer group, wherein the representation of the media indicatesinformation associated with the media being rendered.

In another aspect, a non-transitory computer readable medium isprovided. The non-transitory computer readable medium has stored thereoninstructions executable by a computing device to cause the computingdevice to perform functions. The functions include displaying on adisplay screen a representation of a zone player group associated with ahousehold responsive to receipt of a command to select the householdfrom a community of households, and displaying on the display screen arepresentation of media being rendered by the zone player group, whereinthe representation of the media indicates information associated withthe media being rendered.

II. Example Operating Environment

Referring now to the drawings, in which like numerals can refer to likeparts throughout the figures, FIG. 1 shows an example media systemconfiguration 100 in which one or more embodiments disclosed herein canbe practiced or implemented.

By way of illustration, the media system configuration 100 represents ahome (or household, as mentioned above) with multiple zones (or groups,as mentioned above), though the household could have been configuredwith only one zone. Each zone, for example, may represent a differentroom or space, such as an office, bathroom, bedroom, kitchen, diningroom, family room, home theater room, utility or laundry room, andpatio. A single zone might also include multiple rooms or spaces if soconfigured. One or more of zone players 102-124 are shown in eachrespective zone. A zone player 102-124, also referred to as a playbackdevice, multimedia unit, speaker, player, and so on, provides audio,video, and/or audiovisual output. A controller 130 (e.g., shown in thekitchen for purposes of illustration) provides control to the mediasystem configuration 100. Controller 130 may be fixed to a zone, oralternatively, mobile such that it can be moved about the zones. Themedia system configuration 100 may also include more than one controller130. The media system configuration 100 illustrates an example wholehouse media system, though it is understood that the technologydescribed herein is not limited to its particular place of applicationor to an expansive system like a whole house media system 100 of FIG. 1.

a. Example Zone Players

FIGS. 2A, 2B, and 2C show example types of zone players. Zone players200, 202, and 204 of FIGS. 2A, 2B, and 2C, respectively, can correspondto any of the zone players 102-124 of FIG. 1, for example. In someembodiments, audio is reproduced using only a single zone player, suchas by a full-range player. In some embodiments, audio is reproducedusing two or more zone players, such as by using a combination offull-range players or a combination of full-range and specializedplayers. In some embodiments, zone players 200-204 may also be referredto as a “smart speaker,” because they contain processing capabilitiesbeyond the reproduction of audio, more of which is described below.

FIG. 2A illustrates zone player 200 that includes sound producingequipment 208 capable of reproducing full-range sound. The sound maycome from an audio signal that is received and processed by zone player200 over a wired or wireless data network. Sound producing equipment 208includes one or more built-in amplifiers and one or more acoustictransducers (e.g., speakers). A built-in amplifier is described morebelow with respect to FIG. 4. A speaker or acoustic transducer caninclude, for example, any of a tweeter, a mid-range driver, a low-rangedriver, and a subwoofer. In some embodiments, zone player 200 can bestatically or dynamically configured to play stereophonic audio,monaural audio, or both. In some embodiments, zone player 200 isconfigured to reproduce a subset of full-range sound, such as when zoneplayer 200 is grouped with other zone players to play stereophonicaudio, monaural audio, and/or surround audio or when the audio contentreceived by zone player 200 is less than full-range.

FIG. 2B illustrates zone player 202 that includes a built-in amplifierto power a set of detached speakers 210. A detached speaker can include,for example, any type of loudspeaker. Zone player 202 may be configuredto power one, two, or more separate loudspeakers. Zone player 202 may beconfigured to communicate an audio signal (e.g., right and left channelaudio or more channels depending on its configuration) to the detachedspeakers 210 via a wired path.

FIG. 2C illustrates zone player 204 that does not include a built-inamplifier, but is configured to communicate an audio signal, receivedover a data network, to an audio (or “audio/video”) receiver 214 withbuilt-in amplification.

Referring back to FIG. 1, in some embodiments, one, some, or all of thezone players 102 to 124 can retrieve audio directly from a source. Forexample, a zone player may contain a playlist or queue of audio items tobe played (also referred to herein as a “playback queue”). Each item inthe queue may comprise a uniform resource identifier (URI) or some otheridentifier. The URI or identifier can point the zone player to the audiosource. The source might be found on the Internet (e.g., the cloud),locally from another device over data network 128 (described furtherbelow), from the controller 130, stored on the zone player itself, orfrom an audio source communicating directly to the zone player. In someembodiments, the zone player can reproduce the audio itself, send it toanother zone player for reproduction, or both where the audio is playedby the zone player and one or more additional zone players in synchrony.In some embodiments, the zone player can play a first audio content (ornot play at all), while sending a second, different audio content toanother zone player(s) for reproduction.

By way of illustration, SONOS, Inc. of Santa Barbara, Calif. presentlyoffers for sale zone players referred to as a “PLAY:5,” “PLAY:3,”“CONNECT:AMP,” “CONNECT,” and “SUB.” Any other past, present, and/orfuture zone players can additionally or alternatively be used toimplement the zone players of example embodiments disclosed herein.Additionally, it is understood that a zone player is not limited to theparticular examples illustrated in FIGS. 2A, 2B, and 2C or to the SONOSproduct offerings. For example, a zone player may include a wired orwireless headphone. In yet another example, a zone player might includea sound bar for television. In yet another example, a zone player caninclude or interact with a docking station for an Apple IPOD™ or similardevice.

b. Example Controllers

FIG. 3 illustrates an example wireless controller 300 in docking station302. By way of illustration, controller 300 may correspond tocontrolling device 130 of FIG. 1. Docking station 302, if provided, maybe used to charge a battery of controller 300. In some embodiments,controller 300 may be provided with a touch screen 304 that allows auser to interact through touch with the controller 300, for example, toretrieve and navigate a playlist of audio items, control operations ofone or more zone players, and provide overall control of the systemconfiguration 100. In certain embodiments, any number of controllers canbe used to control the system configuration 100. In some embodiments,there may be a limit set on the number of controllers that can controlthe system configuration 100. The controllers might be wireless likewireless controller 300 or wired to data network 128.

In some embodiments, if more than one controller is used in system 100,each controller may be coordinated to display common content, and mayall be dynamically updated to indicate changes made from a singlecontroller. Coordination can occur, for instance, by a controllerperiodically requesting a state variable directly or indirectly from oneor more zone players; the state variable may provide information aboutsystem 100, such as current zone group configuration, what is playing inone or more zones, volume levels, and other items of interest. The statevariable may be passed around on data network 128 between zone players(and controllers, if so desired) as needed or as often as programmed.

In addition, an application running on any network-enabled portabledevice, such as an IPHONE™, IPAD™, ANDROID™ powered phone, or any othersmart phone or network-enabled device can be used as controller 130. Anapplication running on a laptop or desktop personal computer (PC) orMac™ can also be used as controller 130. Such controllers may connect tosystem 100 through an interface with data network 128, a zone player, awireless router, or using some other configured connection path. Examplecontrollers offered by Sonos, Inc. of Santa Barbara, Calif. include a“Controller 200,” “SONOS® CONTROL,” “SONOS® Controller for IPHONE™,”“SONOS® Controller for IPAD™,” “SONOS® Controller for ANDROID™,” “SONOS®Controller for MAC™ or PC.”

c. Example Data Connection

Zone players 102 to 124 of FIG. 1 are coupled directly or indirectly toa data network, such as data network 128. Controller 130 may also becoupled directly or indirectly to data network 128 or individual zoneplayers. Data network 128 is represented by an octagon in the figure tostand out from other representative components. While data network 128is shown in a single location, it is understood that such a network isdistributed in and around system 100. Particularly, data network 128 canbe a wired network, a wireless network, or a combination of both wiredand wireless networks. In some embodiments, one or more of the zoneplayers 102-124 are wirelessly coupled to data network 128 based on aproprietary mesh network. In some embodiments, one or more of the zoneplayers 102-124 are wirelessly coupled to data network 128 using anon-mesh topology. In some embodiments, one or more of the zone players102-124 are coupled via a wire to data network 128 using Ethernet orsimilar technology. In addition to the one or more zone players 102-124connecting to data network 128, data network 128 can further allowaccess to a wide area network, such as the Internet.

In some embodiments, connecting any of the zone players 102-124, or someother connecting device, to a broadband router, can create data network128. Other zone players 102-124 can then be added wired or wirelessly tothe data network 128. For example, a zone player (e.g., any of zoneplayers 102-124) can be added to the system configuration 100 by simplypressing a button on the zone player itself (or perform some otheraction), which enables a connection to be made to data network 128. Thebroadband router can be connected to an Internet Service Provider (ISP),for example. The broadband router can be used to form another datanetwork within the system configuration 100, which can be used in otherapplications (e.g., web surfing). Data network 128 can also be used inother applications, if so programmed. An example, second network mayimplement SONOSNET™ protocol, developed by SONOS, Inc. of Santa Barbara.SONOSNET™ represents a secure, AES-encrypted, peer-to-peer wireless meshnetwork. Alternatively, in certain embodiments, the data network 128 isthe same network, such as a traditional wired or wireless network, usedfor other applications in the household.

d. Example Zone Configurations

A particular zone can contain one or more zone players. For example, thefamily room of FIG. 1 contains two zone players 106 and 108, while thekitchen is shown with one zone player 102. In another example, the hometheater room contains additional zone players to play audio from a 5.1channel or greater audio source (e.g., a movie encoded with 5.1 orgreater audio channels). In some embodiments, one can position a zoneplayer in a room or space and assign the zone player to a new orexisting zone via controller 130. As such, zones may be created,combined with another zone, removed, and given a specific name (e.g.,“Kitchen”), if so desired and programmed to do so with controller 130.Moreover, in some embodiments, zone configurations may be dynamicallychanged even after being configured using controller 130 or some othermechanism.

In some embodiments, if a zone contains two or more zone players, suchas the two zone players 106 and 108 in the family room, then the twozone players 106 and 108 can be configured to play the same audio sourcein synchrony, or the two zone players 106 and 108 can be paired to playtwo separate sounds in left and right channels, for example. In otherwords, the stereo effects of a sound can be reproduced or enhancedthrough the two zone players 106 and 108, one for the left sound and theother for the right sound. In certain embodiments, paired zone players(also referred to as “bonded zone players”) can play audio in synchronywith other zone players in the same or different zones.

In some embodiments, two or more zone players can be sonicallyconsolidated to form a single, consolidated zone player. A consolidatedzone player (though made up of multiple, separate devices) can beconfigured to process and reproduce sound differently than anunconsolidated zone player or zone players that are paired, because aconsolidated zone player will have additional speaker drivers from whichsound can be passed. The consolidated zone player can further be pairedwith a single zone player or yet another consolidated zone player. Eachplayback device of a consolidated playback device can be set in aconsolidated mode, for example.

According to some embodiments, one can continue to do any of: group,consolidate, and pair zone players, for example, until a desiredconfiguration is complete. The actions of grouping, consolidation, andpairing are preferably performed through a control interface, such asusing controller 130, and not by physically connecting and re-connectingspeaker wire, for example, to individual, discrete speakers to createdifferent configurations. As such, certain embodiments described hereinprovide a more flexible and dynamic platform through which soundreproduction can be offered to the end-user.

e. Example Audio Sources

In some embodiments, each zone can play from the same audio source asanother zone or each zone can play from a different audio source. Forexample, someone can be grilling on the patio and listening to jazzmusic via zone player 124, while someone is preparing food in thekitchen and listening to classical music via zone player 102. Further,someone can be in the office listening to the same jazz music via zoneplayer 110 that is playing on the patio via zone player 124. In someembodiments, the jazz music played via zone players 110 and 124 isplayed in synchrony. Synchronizing playback amongst zones allows forsomeone to pass through zones while seamlessly (or substantiallyseamlessly) listening to the audio. Further, zones can be put into a“party mode” such that all associated zones will play audio insynchrony.

Sources of audio content to be played by zone players 102-124 arenumerous. In some embodiments, music on a zone player itself may beaccessed and a played. In some embodiments, music from a personallibrary stored on a computer or networked-attached storage (NAS) may beaccessed via the data network 128 and played. In some embodiments,Internet radio stations, shows, and podcasts can be accessed via thedata network 128. Music or cloud services that let a user stream and/ordownload music and audio content can be accessed via the data network128. Further, music can be obtained from traditional sources, such as aturntable or CD player, via a line-in connection to a zone player, forexample. Audio content can also be accessed using a different protocol,such as AIRPLAY™, which is a wireless technology by Apple, Inc., forexample. Audio content received from one or more sources can be sharedamongst the zone players 102 to 124 via data network 128 and/orcontroller 130. The above-disclosed sources of audio content arereferred to herein as network-based audio information sources. However,network-based audio information sources are not limited thereto.

In some embodiments, the example home theater zone players 116, 118, 120are coupled to an audio information source such as a television 132. Insome examples, the television 132 is used as a source of audio for thehome theater zone players 116, 118, 120, while in other examples audioinformation from the television 132 can be shared with any of the zoneplayers 102-124 in the audio system 100.

III. Example Zone Players

Referring now to FIG. 4, there is shown an example block diagram of azone player 400 in accordance with an embodiment. Zone player 400includes a network interface 402, a processor 408, a memory 410, anaudio processing component 412, one or more modules 414, an audioamplifier 416, and a speaker unit 418 coupled to the audio amplifier416. FIG. 2A shows an example illustration of such a zone player. Othertypes of zone players may not include the speaker unit 418 (e.g., suchas shown in FIG. 2B) or the audio amplifier 416 (e.g., such as shown inFIG. 2C). Further, it is contemplated that the zone player 400 can beintegrated into another component. For example, the zone player 400could be constructed as part of a television, lighting, or some otherdevice for indoor or outdoor use.

In some embodiments, network interface 402 facilitates a data flowbetween zone player 400 and other devices on a data network 128. In someembodiments, in addition to getting audio from another zone player ordevice on data network 128, zone player 400 may access audio directlyfrom the audio source, such as over a wide area network or on the localnetwork. In some embodiments, the network interface 402 can furtherhandle the address part of each packet so that it gets to the rightdestination or intercepts packets destined for the zone player 400.Accordingly, in certain embodiments, each of the packets includes anInternet Protocol (IP)-based source address as well as an IP-baseddestination address.

In some embodiments, network interface 402 can include one or both of awireless interface 404 and a wired interface 406. The wireless interface404, also referred to as a radio frequency (RF) interface, providesnetwork interface functions for the zone player 400 to wirelesslycommunicate with other devices (e.g., other zone player(s), speaker(s),receiver(s), component(s) associated with the data network 128, and soon) in accordance with a communication protocol (e.g., any wirelessstandard including IEEE 802.11a, 802.11b, 802.11g, 802.11n, or 802.15).Wireless interface 404 may include one or more radios. To receivewireless signals and to provide the wireless signals to the wirelessinterface 404 and to transmit wireless signals, the zone player 400includes one or more antennas 420. The wired interface 406 providesnetwork interface functions for the zone player 400 to communicate overa wire with other devices in accordance with a communication protocol(e.g., IEEE 802.3). In some embodiments, a zone player includes multiplewireless 404 interfaces. In some embodiments, a zone player includesmultiple wired 406 interfaces. In some embodiments, a zone playerincludes both of the interfaces 404 and 406. In some embodiments, a zoneplayer 400 includes only the wireless interface 404 or the wiredinterface 406.

In some embodiments, the processor 408 is a clock-driven electronicdevice that is configured to process input data according toinstructions stored in memory 410. The memory 410 is data storage thatcan be loaded with one or more software module(s) 414, which can beexecuted by the processor 408 to achieve certain tasks. In theillustrated embodiment, the memory 410 is a tangible machine-readablemedium storing instructions that can be executed by the processor 408.In some embodiments, a task might be for the zone player 400 to retrieveaudio data from another zone player or a device on a network (e.g.,using a uniform resource locator (URL) or some other identifier). Insome embodiments, a task may be for the zone player 400 to send audiodata to another zone player or device on a network. In some embodiments,a task may be for the zone player 400 to synchronize playback of audiowith one or more additional zone players. In some embodiments, a taskmay be to pair the zone player 400 with one or more zone players tocreate a multi-channel audio environment. Additional or alternativetasks can be achieved via the one or more software module(s) 414 and theprocessor 408.

The audio processing component 412 can include one or moredigital-to-analog converters (DAC), an audio preprocessing component, anaudio enhancement component or a digital signal processor, and so on. Insome embodiments, the audio processing component 412 may be part ofprocessor 408. In some embodiments, the audio that is retrieved via thenetwork interface 402 is processed and/or intentionally altered by theaudio processing component 412. Further, the audio processing component412 can produce analog audio signals. The processed analog audio signalsare then provided to the audio amplifier 416 for play back throughspeakers 418. In addition, the audio processing component 412 caninclude circuitry to process analog or digital signals as inputs to playfrom zone player 400, send to another zone player on a network, or bothplay and send to another zone player on the network. An example inputincludes a line-in connection (e.g., an auto-detecting 3.5 mm audioline-in connection).

The audio amplifier 416 is a device(s) that amplifies audio signals to alevel for driving one or more speakers 418. The one or more speakers 418can include an individual transducer (e.g., a “driver”) or a completespeaker system that includes an enclosure including one or more drivers.A particular driver can be a subwoofer (e.g., for low frequencies), amid-range driver (e.g., for middle frequencies), and a tweeter (e.g.,for high frequencies), for example. An enclosure can be sealed orported, for example. Each transducer may be driven by its own individualamplifier.

A commercial example, presently known as the PLAY:5™, is a zone playerwith a built-in amplifier and speakers that is capable of retrievingaudio directly from the source, such as on the Internet or on the localnetwork, for example. In particular, the PLAY:5™ is a five-amp,five-driver speaker system that includes two tweeters, two mid-rangedrivers, and one woofer. When playing audio content via the PLAY:5, theleft audio data of a track is sent out of the left tweeter and leftmid-range driver, the right audio data of a track is sent out of theright tweeter and the right mid-range driver, and mono bass is sent outof the subwoofer. Further, both mid-range drivers and both tweeters havethe same equalization (or substantially the same equalization). That is,they are both sent the same frequencies but from different channels ofaudio. Audio from Internet radio stations, online music and videoservices, downloaded music, analog audio inputs, television, DVD, and soon, can be played from the PLAY:5™.

IV. Example Controller

Referring now to FIG. 5, there is shown an example block diagram forcontroller 500, which can correspond to the controlling device 130 inFIG. 1. Controller 500 can be used to facilitate the control ofmulti-media applications, automation and others in a system. Inparticular, the controller 500 may be configured to facilitate aselection of a plurality of audio sources available on the network andenable control of one or more zone players (e.g., the zone players102-124 in FIG. 1) through a wireless or wired network interface 508.According to one embodiment, the wireless communications is based on anindustry standard (e.g., infrared, radio, wireless standards includingIEEE 802.11a, 802.11b, 802.11g, 802.11n, 802.15, and so on). Further,when a particular audio is being accessed via the controller 500 orbeing played via a zone player, a picture (e.g., album art) or any otherdata, associated with the audio and/or audio source can be transmittedfrom a zone player or other electronic device to controller 500 fordisplay.

Controller 500 is provided with a screen 502 and an input interface 514that allows a user to interact with the controller 500, for example, tonavigate a playlist of many multimedia items and to control operationsof one or more zone players. The screen 502 on the controller 500 can bean LCD screen, for example. The screen 500 communicates with and iscommanded by a screen driver 504 that is controlled by a microcontroller(e.g., a processor) 506. The memory 510 can be loaded with one or moreapplication modules 512 that can be executed by the microcontroller 506with or without a user input via the user interface 514 to achievecertain tasks. In some embodiments, an application module 512 isconfigured to facilitate grouping a number of selected zone players intoa zone group and synchronizing the zone players for audio play back. Insome embodiments, an application module 512 is configured to control theaudio sounds (e.g., volume) of the zone players in a zone group. Inoperation, when the microcontroller 506 executes one or more of theapplication modules 512, the screen driver 504 generates control signalsto drive the screen 502 to display an application specific userinterface accordingly.

The controller 500 includes a network interface 508 that facilitateswired or wireless communication with a zone player. In some embodiments,the commands such as volume control and audio playback synchronizationare sent via the network interface 508. In some embodiments, a savedzone group configuration is transmitted between a zone player and acontroller via the network interface 508. The controller 500 can controlone or more zone players, such as 102-124 of FIG. 1. There can be morethan one controller for a particular system, and each controller mayshare common information with another controller, or retrieve the commoninformation from a zone player, if such a zone player storesconfiguration data (e.g., such as a state variable). Further, acontroller can be integrated into a zone player.

It should be noted that other network-enabled devices such as anIPHONE™, IPAD™ or any other smart phone or network-enabled device (e.g.,a networked computer such as a PC or MAC™) can also be used as acontroller to interact or control zone players in a particularenvironment. In some embodiments, a software application or upgrade canbe downloaded onto a network-enabled device to perform the functionsdescribed herein.

In certain embodiments, a user can create a zone group (also referred toas a bonded zone) including at least two zone players from thecontroller 500. The zone players in the zone group can play audio in asynchronized fashion, such that all of the zone players in the zonegroup play back an identical audio source or a list of identical audiosources in a synchronized manner such that no (or substantially no)audible delays or hiccups are to be heard. Similarly, in someembodiments, when a user increases the audio volume of the group fromthe controller 500, the signals or data of increasing the audio volumefor the group are sent to one of the zone players and causes other zoneplayers in the group to be increased together in volume.

A user via the controller 500 can group zone players into a zone groupby activating a “Link Zones” or “Add Zone” soft button, or de-grouping azone group by activating an “Unlink Zones” or “Drop Zone” button. Forexample, one mechanism for ‘joining’ zone players together for audioplay back is to link a number of zone players together to form a group.To link a number of zone players together, a user can manually link eachzone player or room one after the other. For example, assume that thereis a multi-zone system that includes the following zones: Bathroom,Bedroom, Den, Dining Room, Family Room, and Foyer.

In certain embodiments, a user can link any number of the six zoneplayers, for example, by starting with a single zone and then manuallylinking each zone to that zone.

In certain embodiments, a set of zones can be dynamically linkedtogether using a command to create a zone scene or theme (subsequent tofirst creating the zone scene). For instance, a “Morning” zone scenecommand can link the Bedroom, Office, and Kitchen zones together in oneaction. Without this single command, the user would manually andindividually link each zone. The single command may include a mouseclick, a double mouse click, a button press, a gesture, or some otherprogrammed action. Other kinds of zone scenes can be programmed.

In certain embodiments, a zone scene can be triggered based on time(e.g., an alarm clock function). For instance, a zone scene can be setto apply at 8:00 am. The system can link appropriate zonesautomatically, set specific music to play, and then stop the music aftera defined duration. Although any particular zone can be triggered to an“On” or “Off” state based on time, for example, a zone scene enables anyzone(s) linked to the scene to play a predefined audio (e.g., afavorable song, a predefined playlist) at a specific time and/or for aspecific duration. If, for any reason, the scheduled music failed to beplayed (e.g., an empty playlist, no connection to a share, failedUniversal Plug and Play (UPnP), no Internet connection for an InternetRadio station, and so on), a backup buzzer can be programmed to sound.The buzzer can include a sound file that is stored in a zone player, forexample.

V. Example Ad-Hoc Network

Certain particular examples are now provided in connection with FIG. 6to describe, for purposes of illustration, certain systems and methodsto provide and facilitate connection to a playback network. FIG. 6 showsthat there are three zone players 602, 604 and 606 and a controller 608that form a network branch that is also referred to as an Ad-Hoc network610. The network 610 may be wireless, wired, or a combination of wiredand wireless. In general, an Ad-Hoc (or “spontaneous”) network is alocal area network or other small network in which there is generally noone access point for all traffic. With an established Ad-Hoc network610, the devices 602, 604, 606 and 608 can all communicate with eachother in a “peer-to-peer” style of communication, for example.Furthermore, devices may join and/or leave from the network 610, and thenetwork 610 will automatically reconfigure itself without needing theuser to reconfigure the network 610. While an Ad-Hoc network isreferenced in FIG. 6, it is understood that a playback network may bebased on a type of network that is completely or partially differentfrom an Ad-Hoc network.

Using the Ad-Hoc network 610, the devices 602, 604, 606, and 608 canshare or exchange one or more audio sources and be dynamically groupedto play the same or different audio sources. For example, the devices602 and 604 are grouped to playback one piece of music, and at the sametime, the device 606 plays back another piece of music. In other words,the devices 602, 604, 606 and 608, as shown in FIG. 6, form a HOUSEHOLDthat distributes audio and/or reproduces sound. As used herein, the termHOUSEHOLD (provided in uppercase letters to disambiguate from the user'sdomicile) is used to represent a collection of networked devices thatare cooperating to provide an application or service. An instance of aHOUSEHOLD is identified with a household 610 (or household identifier),though a HOUSEHOLD may be identified with a different area or place.

In certain embodiments, a household identifier (HHID) is a short stringor an identifier that is computer-generated to help ensure that it isunique. Accordingly, the network 610 can be characterized by a uniqueHHID and a unique set of configuration variables or parameters, such aschannels (e.g., respective frequency bands), service set identifier(SSID) (a sequence of alphanumeric characters as a name of a wirelessnetwork), and WEP keys (wired equivalent privacy or other securitykeys). In certain embodiments, SSID is set to be the same as HHID.

In certain embodiments, each HOUSEHOLD includes two types of networknodes: a control point (CP) and a zone player (ZP). The control pointcontrols an overall network setup process and sequencing, including anautomatic generation of required network parameters (e.g., WEP keys). Inan embodiment, the CP also provides the user with a HOUSEHOLDconfiguration user interface. The CP function can be provided by acomputer running a CP application module, or by a handheld controller(e.g., the controller 308) also running a CP application module, forexample. The zone player is any other device on the network that isplaced to participate in the automatic configuration process. The ZP, asa notation used herein, includes the controller 308 or a computingdevice, for example. In some embodiments, the functionality, or certainparts of the functionality, in both the CP and the ZP are combined at asingle node (e.g., a ZP contains a CP or vice-versa).

In certain embodiments, configuration of a HOUSEHOLD involves multipleCPs and ZPs that rendezvous and establish a known configuration suchthat they can use a standard networking protocol (e.g., IP over Wired orWireless Ethernet) for communication. In an embodiment, two types ofnetworks/protocols are employed: Ethernet 802.3 and Wireless 802.11g.Interconnections between a CP and a ZP can use either of thenetworks/protocols. A device in the system as a member of a HOUSEHOLDcan connect to both networks simultaneously.

In an environment that has both networks in use, it is assumed that atleast one device in a system is connected to both as a bridging device,thus providing bridging services between wired/wireless networks forothers. The zone player 606 in FIG. 6 is shown to be connected to bothnetworks, for example. The connectivity to the network 612 is based onEthernet and/or Wireless, while the connectivity to other devices 602,604 and 608 is based on Wireless and Ethernet if so desired.

It is understood, however, that in some embodiments each zone player606, 604, 602 may access the Internet when retrieving media from thecloud (e.g., the Internet) via the bridging device. For example, zoneplayer 602 may contain a uniform resource locator (URL) that specifiesan address to a particular audio track in the cloud. Using the URL, thezone player 602 may retrieve the audio track from the cloud, andultimately play the audio out of one or more zone players.

VI. Example System Configuration

FIG. 7 shows a system including a plurality of networks including acloud-based network and at least one local playback network. A localplayback network includes a plurality of playback devices or players,though it is understood that the playback network may contain only oneplayback device. In certain embodiments, each player has an ability toretrieve its content for playback. Control and content retrieval can bedistributed or centralized, for example. Input can include streamingcontent provider input, third party application input, mobile deviceinput, user input, and/or other playback network input into the cloudfor local distribution and playback.

As illustrated by the example system 700 of FIG. 7, a plurality ofcontent providers 720-750 can be connected to one or more local playbacknetworks 760-770 via a cloud and/or other network 710. Using the cloud710, a multimedia audio system 720 (e.g., Sonos™), a mobile device 730,a third party application 740, a content provider 750 and so on canprovide multimedia content (requested or otherwise) to local playbacknetworks 760, 770. Within each local playback network 760, 770, acontroller 762, 772 and a playback device 764, 774 can be used toplayback audio content.

VII. Example Media Experience Social Interface

As mentioned previously, embodiments for sharing a media experienceamong households are provided herein. The sharing of a media experienceamong households may allow a user to view information about a mediaexperience of a friend in a different household, within a community, asdiscussed above. In one example, if the media being experienced is amusical track, the media experience information may include a title ofthe musical track, an album associated with the musical track, an artistassociated with the musical track, a release year associated with thealbum, a duration associated with the musical track, and so on. If themedia being experienced is a video or movie, the media experienceinformation may include a video title, actors in the video, and adirector of the video, for example. In another example, the user mayshare the media experience by experiencing locally a portion of themedia being experienced by the friend in the different household.

FIG. 8 shows an example system configuration 800 between a mediaexperience social interface 820 and households 850. As shown, the systemconfiguration 800 also includes an Internet Information Service (IIS)810 in communication with the interface 820 and in communication withthe households 850. In one example, each of the households 850 may be incommunication with the IIS 810 via a persistent Transmission ControlProtocol (TCP) connection. In one case the persistent TCP connection isused to transmit universal plug and play (UPnP) network protocolmessages between the households 850 and the IIS 810.

The IIS 810 may include a database 812 configured to be in communicationwith each of the households 850 to receive media experience informationfrom, and provide data to, each respective household. The database 812may further be configured to store and update information associatedwith each respective household as media experience information isreceived. As shown, the households 850 may include household1 842,household2 844, and household3 846, each in communication with thedatabase 812. One or more of the household1 842, household2 844, andhousehold3 846 may be part of a community, as described above.

Users of households 850 may form a community via invitation from ahousehold in a community (a particular household might have started thecommunity) or through some other defined community formation process. Insome embodiments, a household may be included in multiple, differentcommunities. In some embodiments, a community may be formed for alimited duration (e.g., an hour, a day, etc.). In other embodiments, acommunity exists as long as there is at least one household still partof the community. Other examples exist.

The IIS 810 may further include a household watcher 814, and a groupwatcher 816. The household watcher 814 may be configured to detect andretrieve updates in the database 812 associated with the households 850.As discussed before, some households may include one or more groups (orzones). Accordingly, the group watcher 816 may be configured to detectand retrieve updates in the database 812 associated with the one or moregroups in any of the households 850.

The interface 820 may further include a household interface 822 and agroup interface 824. In one example, the household interface 822 andgroup interface 824 may represent sub-regions of the interface 820. Inanother example, the household interface 822 and group interface 824 mayrepresent different screens of the interface 820. As shown, thehousehold interface 822 may be in communication with the householdwatcher 814 to display any updates in the database 812 detected by thehousehold watcher 814 Similarly, the group watcher interface 822 may bein communication with the group watcher 816 to display any updates inthe database 812 detected by the group watcher 816.

In one example, data displayed on the interface 820 may only includedata associated with households (and associated groups) that the userusing the interface 820 has access to. For example, the user may log-onto a website providing the interface 820 by providing access credentialsin the form of a username and password (in some embodiments, a usernameand password may only be required to log-on the first time). Based onthe access credentials, the IIS 810 may determine that the user hasaccess to the community of households that includes household1 842 andhousehold2 844. As such, the interface 820 may display, for the user toview, media information associated with household1 842 and household2844, but not that of household3 846.

As previously described, the interface 820 may be provided on a webpageaccessible via a web browser. In this case, the webpage may beimplemented according to an Asynchronous JavaScript and XML (AJAX)framework, such that the interface 820 may send data to, and retrievedata from the IIS 810 asynchronously and in the background withoutinterfering with the other information displayed on the interface 820.In other words, when an information update for a group in a household isdetected, only the relevant information shown in the group interface 824will be updated, and a refresh or reload of the webpage may not benecessary.

In one case, upon an initiation of the interface 820, data associatedwith households accessible by the user may be retrieved via thehousehold watcher 814 for display on the household interface 822, andall group associated data with the same households may be retrieved viathe group watcher 816 for display on the household interface 824. Afterinitiation, the household interface 822 and group interface 824 may beupdated by the household watcher 814 and group watcher 816, respectivelywhen updates relating to the household and/or groups are detected in thedatabase.

Example implementation of interactions between the households 850, theinterface 820, and the IIS 810 may further be discussed in relation toan example flow diagram 900 of FIG. 9A. FIG. 9A shows the example flowdiagram 900 for updating a media experience social interface, inaccordance with at least some embodiments described herein. Method 900shown in FIG. 9A presents an embodiment of a method that could be usedin a household environment 100 with the systems 200, 202, 204, 300, 400,500, and 800 for example, in communication with one or more devices,such as devices illustrated in FIGS. 2-5. Method 900 may include one ormore operations, functions, or actions as illustrated by one or more ofblocks 902-910. Although the blocks are illustrated in sequential order,these blocks may also be performed in parallel, and/or in a differentorder than those described herein. Also, the various blocks may becombined into fewer blocks, divided into additional blocks, and/orremoved based upon the desired implementation.

In addition, for the method 900 and other processes and methodsdisclosed herein, the flowchart shows functionality and operation of onepossible implementation of present embodiments. In this regard, eachblock may represent a module, a segment, or a portion of program code,which includes one or more instructions executable by a processor forimplementing specific logical functions or steps in the process. Theprogram code may be stored on any type of computer readable medium, forexample, such as a storage device including a disk or hard drive. Thecomputer readable medium may include non-transitory computer readablemedium, for example, such as computer-readable media that stores datafor short periods of time like register memory, processor cache andRandom Access Memory (RAM). The computer readable medium may alsoinclude non-transitory media, such as secondary or persistent long termstorage, like read only memory (ROM), optical or magnetic disks,compact-disc read only memory (CD-ROM), for example. The computerreadable media may also be any other volatile or non-volatile storagesystems. The computer readable medium may be considered a computerreadable storage medium, for example, or a tangible storage device. Inaddition, for the method 900 and other processes and methods disclosedherein, each block in FIG. 9A may represent circuitry that is wired toperform the specific logical functions in the process.

At block 902, the method 900 may involve providing first client devicedata for display on a user interface. In connection to FIG. 8 and thediscussions above, the user interface may be the interface 820 and thefirst client device data may be media experience information associatedwith a household or a group within a household. For instance, a firstclient device may be a zone player in the household or the group withinthe household, and the first client device data may indicate a firstconfiguration of the zone player. In this instance, the zone player maybe a zone player discussed above in connection to FIGS. 2A-2C. The firstconfiguration of the zone player may include a playback setup (i.e.bonded zone or stereo pair involvement of the zone player) as well ascurrent playback media content, such as a song title, an artist, and analbum of a song currently being rendered in the household or groupwithin the household by the zone player.

In one case, block 902 may involve an initiation of the interface 820 asdiscussed above, such that the configuration associated with the zoneplayer may first be provided for display on the interface 820. In thiscase, the information provided for display may be a subset of theconfiguration stored on the database 812 in the IIS 810 depending onrelevance, and access credentials of the user accessing the interface820. For example, if the user is only interested in viewing informationon media being experienced in the household of the friend, and notconcerned with how the media is being experienced, the playback setup ofthe zone player in the household or group in the household may not berelevant and therefore not displayed. In another example, if the useralso has access rights to the media being experienced by the friend, theuser may be able to also experience the same media locally.

As indicated above, interface 820 may be provided in the form of anapplication on a personal device, such as an APPLE IPOD®, or a smartphone such as an APPLE IPHONE® or any ANDROID™ powered phone. In anotherexample, the social interface may be provided on a controller of one ormore media systems in a household. In yet another example, the socialinterface may be provided on a website on the World Wide Web andaccessible over the Internet.

At block 904, the method 900 may involve accessing data in a databaseassociated with an IIS configured to support registration andauthentication of the client device with a media system. In one example,the database may be the database 812, and the IIS may be the IIS 810 ofFIG. 8. In one example, the data in the database comprises deviceconfiguration data associated with the client device. As discussedabove, the database 812 may be configured to store and updateinformation associated with each respective household as mediaexperience information is received.

At block 906, the method 900 may involve detecting a change in thedevice configuration data associated with the client device. Asmentioned before, the IIS 810 of FIG. 8 may include the householdwatcher 814 and the group watcher 816. Accordingly, changes in thedevice configuration data associated with the client device (zone playerin the household and/or group in the household) may be detected by thehousehold watcher 814 and/or the group watcher 816.

The changes in the device configuration data in the database may resultfrom changes in the households 850. For instance, the IIS 810 may beconfigured to receive data from a household, such as household1 842, ifa zone player in the household1 842 begins rendering a different song,begins rendering a different playlist, stops rendering media, and so on.In response to detecting the change in household1 842, the database 812may be updated to reflect the change.

In addition to the example changes mentioned, other example changes inthe device configuration data that may be received by the database 812and detectable by the household watcher 814 and/or group watcher 816 mayinclude changes in the grouping of zone players in the household,changes to the names of groups or zone players in the household, changesto playlists that may be rendered in the household, or changes toaccessible media by the household (modifications to the friend's mediaservice accounts, such as RHAPSODY™, SPOTIFY™, for example). Otherexamples also exist.

At block 908, the method 900 may involve receiving second client devicedata from the IIS 810 indicative of a second configuration of the clientdevice and reflective of the change in the device configuration dataassociated with the client device. Continuing with the example above,upon detection of a change in the device configuration data in thedatabase 812, the second client device data, indicative of the updatesor changes to the household1 842 may be retrieved by the householdwatcher 814 and/or group watcher 816.

As described above in an example, a portion of the updated deviceconfiguration data may be retrieved as the second client device data. Inother words, some of the updated device configuration data may not berelevant, or accessible to the user, and may not be retrieved by thehousehold watcher 814 and/or group watcher 816.

At block 910, the method 900 may involve providing to the user interface820 the second client device data for display on the user interface. Aswith block 902, the relevant information from the database 812 of theIIS 810 may be provided. In one case, contrary to the example discussedabove where only a portion of the updated device configuration data maybe retrieved, all of the updated device configuration data may beretrieved by the household watcher 814 and/or group watcher 816. In thiscase, the user interface 820 may be configured to determine whatportions of the retrieved second client device data is to be provided onthe user interface 820.

FIG. 9B shows an example flow diagram 950 for providing a mediaexperience social interface, in accordance with at least someembodiments described herein. In one example, the flow diagram 950 mayrepresent how the first and/or second client device data are provided onthe user interface 820 in blocks 902 and 910, respectively, of method900. Method 950 shown in FIG. 9B presents an embodiment of a method thatcould be used in the environment 100 with the systems 200, 202, 204,300, 400, 500, and 800 for example, in communication with one or moredevices, such as devices illustrated in FIGS. 2-5. Method 950 mayinclude one or more operations, functions, or actions as illustrated byone or more of blocks 952-956. Although the blocks are illustrated insequential order, these blocks may also be performed in parallel, and/orin a different order than those described herein. Also, the variousblocks may be combined into fewer blocks, divided into additionalblocks, and/or removed based upon the desired implementation.

In addition, for the method 950 and other processes and methodsdisclosed herein, the flowchart shows functionality and operation of onepossible implementation of present embodiments. In this regard, eachblock may represent a module, a segment, or a portion of program code,which includes one or more instructions executable by a processor forimplementing specific logical functions or steps in the process. Theprogram code may be stored on any type of computer readable medium, forexample, such as a storage device including a disk or hard drive. Thecomputer readable medium may include non-transitory computer readablemedium, for example, such as computer-readable media that stores datafor short periods of time like register memory, processor cache andRandom Access Memory (RAM). The computer readable medium may alsoinclude non-transitory media, such as secondary or persistent long termstorage, like read only memory (ROM), optical or magnetic disks,compact-disc read only memory (CD-ROM), for example. The computerreadable media may also be any other volatile or non-volatile storagesystems. The computer readable medium may be considered a computerreadable storage medium, for example, or a tangible storage device. Inaddition, for the method 950 and other processes and methods disclosedherein, each block in FIG. 9B may represent circuitry that is wired toperform the specific logical functions in the process.

At block 952, the method 950 may involve displaying on a display screena representation corresponding to each household of a community ofhouseholds. In one example, the display screen may be associated withone of the households in the community of households. In other words,the display screen may be accessed by a user who is a member of thecommunity. FIG. 10A shows an example first media experience socialinterface 1000, which may be displayed on the display screen. Assuggested previously, the display screen may be that of a mobile deviceor personal computer screen. As shown, the interface 1000 includes ahouseholds region 1012 with household representations HOUSEHOLD 1,HOUSEHOLD 2, HOUSEHOLD 3, and HOUSEHOLD 4. In connection to theembodiments discussed previously, each of the household representationsmay be associated with a different household in a community. As thedisplay screen may be associated with one of the households in thecommunity, the household associated with the display screen providingthe interface 1000 may be any one of HOUSEHOLD 1, HOUSEHOLD 2, HOUSEHOLD3, and HOUSEHOLD 4.

In one example, one of the household representations may be selected ifthe user of the interface 1000 wishes to view media informationassociated with a household represented in the households region 1012.In one case, if HOUSEHOLD 3 is selected, the representation HOUSEHOLD 3may be graphically distinguishable over the other householdrepresentations in the households region 1012. As shown, HOUSEHOLD 3 maybe outlined and/or be in bold to indicate that HOUSEHOLD 3 has beenselected. In other examples, HOUSEHOLD 3 may be graphicallydistinguished by being provided in a different color, different font, ordifferent font size. Other example distinguishing features may also bepossible.

As indicated above, each household shown in the households region 1012may include one or more associated zone player groups configured torender the media in synchrony. For example, HOUSEHOLD 3 may includeGROUP 1, GROUP 2, and GROUP 3. Accordingly, at block 954, the method 950may involve displaying on the display screen a representation of a zoneplayer group associated with a household. In one example, displaying therepresentation of the zone player group associated with the householdmay be in response to receipt of a command to select the household. Assuch, block 954 may involve displaying in a groups region 1008 grouprepresentations of GROUP 1, GROUP 2, and GROUP 3 representative of zoneplayer groups associated with HOUSEHOLD 3. In this case, the display ofthe group representations of GROUP 1, GROUP 2, and GROUP 3 in the groupsregion 1008 may be in response to a selection of HOUSEHOLD 3 in thehouseholds region 1012, as suggested above.

As indicated previously, the household associated with the displayscreen providing the interface 1000 may be any one of HOUSEHOLD 1,HOUSEHOLD 2, HOUSEHOLD 3, or HOUSEHOLD 4. In some cases, the householdassociated with the display screen may not be HOUSEHOLD 3. In otherwords, the display screen providing the interface 1000 may be associatedwith a household in the community of households that is different fromthe household for which the representation of the zone player group andthe representation of the media are displayed. In either case, one ofthe group representations may then be selected if the user wishes toview media information associated with a group represented in the groupsregion 1008. For instance, GROUP 1 may be selected, and accordingly,GROUP 1 may be graphically distinguishable over the other grouprepresentations in the groups region 1008.

Upon selection of a group, such as GROUP 1 in the groups region 1008, atblock 956, the method 950 may involve displaying on the display screen arepresentation of media being rendered by the zone player group, GROUP1. As shown on the interface 1000 of FIG. 10A, a representation of mediabeing rendered by zone players in the remote zone player group, GROUP 1may be provided in a now playing region 1010. In one case, the mediarepresentation of the media indicates information associated with themedia being rendered. For example, as previously discussed, if the mediabeing rendered is a musical track, the media experience information mayinclude a title of the musical track, an album associated with themusical track, an artist associated with the musical track, a releaseyear associated with the album, a duration associated with the musicaltrack, or a record company associated with the album. In addition to thenow playing region 1010 upon selection of GROUP 1, the interface 1000may also include a display of an available media representation in amedia queue region 1014. Because, as discussed before, differenthouseholds, and different groups within a household may have access todifferent media, and/or may be capable of rendering different media,displaying available media in the media queue region 1014 may furtherinvolve determining available media to be rendered by the remote zoneplayer group, and displaying all media accessible by zone players in theremote zone player group. In one case, if given access, the availablemedia representation may be selectable by the user to cause therendering of the media content by the remote zone player group.

In one example, the media queue region 1014 may provide a playlist orplayback queue presently being rendered by the zone players in thegroup, and may therefore include media currently being rendered by thegroup and for which information is provided in the now playing region1010. In this case, the now playing media may be graphicallydistinguishable over the other media in the available mediarepresentation 1014, as shown on the interface 1000.

While block 956 as discussed above may imply that displaying of the nowplaying region 1010 is upon a selection of a group representation in thegroups region 1008, other embodiments may involve displaying the nowplaying region 1010 and media queue region 1014 upon selection of ahousehold representation in the households region 1012. This may be thecase when only one group exists within the selection household. This mayalso be the case if the interface is configured to select, for example,the first group representation in the groups region 1008 by default whena household is selected. In other words, in some embodiments, theselection of a group representation may be automatically made withoutfurther input from the user after the user selects a householdrepresentation. Similarly, a household representation (such as the firsthousehold representation in the households region, or the only householdavailable) may also be configured to be automatically selected uponinitiation of the interface 1000.

In addition to the households region 1012, the groups region 1008, thenow playing region 1010, and the media queue region 1014, the interface1000 may also include a controls region 1002, which may include controlicons representative of available playback controls selectable tocontrol the rendering of the media by the zone player in the remote zoneplayer group. As previously discussed, the user of the interface 1000may be given access to control the media experience of the friend in thehousehold. In such a case, the available playback controls in thecontrols region 1002 may include icons to cause the associated remotezone players in the household to play, play next, play previous,shuffle, or repeat media in the playback queue (such as that shown inthe media queue region 1014). In the case the user does not have accessto control the media experience, the controls region 1002 may not beprovided, or may be provided with the control icons grayed out toindicate that the control options are not available.

Also shown in FIG. 10A, the controls region 1002 of the interface 1000may further include a playback progress bar representative of a playbackprogress of the media being rendered by zone players in the remote zoneplayer group. In some examples, the playback progress bar may beselected and used to adjust the playback progress of the media beingexperienced at the household.

In addition to the controls region 1002, the interface 1000 may alsoinclude other controls such as a volume bar 1004 representing the volumeat which the media being rendered is experienced at the household. Inthis case, if the user has control access to the media experience of thehousehold or remote zone player group, the user may adjust the volumelevel using the volume bar 1004 to adjust the playback volume of theremote zone player group.

Further shown in FIG. 10A is a search box 1006 on the interface 1000. Inone example, as shown, the search box 1006 may be used to find by textor drop down selection a specific household in the community. In otherexamples, the search box 1006 may be used to find specific media, orgroups within a specific household, or a community.

In one example, to further enhance the experience of the user wishing toview information on media being experienced by another household,additional information may be provided on the interface 1000. FIG. 10Bshows an example second media experience social interface 1050. Asshown, the interface 1050 may include a households region 1062, a groupsregion 1058, a now playing region 1060, and a media queue region 1064,similar to the households region 1012, groups region 1008, now playingregion 1010, and media queue region 1014, respectively, of the interface1000 of FIG. 10A. In addition to the interface 1000, the interface 1050may include a lyrics region 1006 displaying a textual representation oflyrics associated with the media being rendered, if the media is amusical track. The interface 1050 may also include a photos region 1068showing images associated with an artist of the musical track. Otherinformation may also be provided on the interface 1050, such as abiography of the artist, or interesting facts about the musical track oralbum. Other examples are also possible.

In further embodiments of the present application that may not beexplicitly shown in FIGS. 10A or 10B, a representation of each zoneplayer in a zone player group may be provided on the display screen inresponse to a selection of the zone player group. For instance, if GROUP1 includes two zone players rendering media as a studio pair, selectionof GROUP 1 may result in providing on the display screen representationsof a left zone player and a right zone player of GROUP 1. In suchembodiments, modifications of groupings of zone players within ahousehold, or zone player groups within the household may further bemade in response to receiving commands from a user indicating suchmodifications. In one example, the left and right zone players may bemodified to each play both left and right channels of the media content.In another example, one of the zone players may be removed from GROUP 1and added to GROUP 2. In a yet another example, one or more zone playersfrom GROUP 2 may be added to GROUP 1. As with other means of controllingthe media experience of a remote household, the ability to modify thegroupings of zone players via the interface 1000 or 1050 may depend onthe access rights given to the user of the interface 1000 or 1050.

As discussed in an example above, a friend may give the user controlaccess to the media experience at the household or group. This may be inaddition to the friend giving the user any access at all to the mediaexperience at the household or group. For instance, the presentapplication may allow sharing of media experience information betweenhouseholds only to the extent that an owner of a household or groupallows. In other words, media experience sharing rights may bedetermined by the owner of the household or group.

FIG. 11 shows an example interface 1100 for configuring a mediaexperience sharing configuration. The interface 1100 may also be used tojoin a community and set up parameters. In one example, the interface1100 may be used by a user of a first household to determine what levelof access a user of second household in the community may have to thefirst household's media experience.

As shown, the interface 1100 may include a household name box 1102, agroup selection box 1104, sharing options 1106, and sharing scope 1108.The household name box 1102 may display an editable name of a householdrepresentative of the household on the network interface. As such, onemay edit the name of the household to be displayed to others. The groupselection box 1104 may then provide the user of the first household aselection of groups in the first household. In one example, a selectionof a group in the first household may allow the user to edit a name ofthe selected group. In another example, the selection of the group mayshow the sharing options 1106 and sharing scope 1108 associated with theselected group.

As shown, the sharing options 1106 of the group may include exampletypes of media experience sharing such as allowing the network interfaceto view media being rendered by one or more zone player groups in thefirst household, view all media accessible by one or more zone playergroups in the first household, control rendering of the media beingrendered by one or more zone player groups in the first household, orview media in a playlist being rendered by one or more zone playergroups in the first household. Also as shown, the sharing scope 1108 mayinclude example scope of sharing such as allowing access to the one ormore zone player groups in the first household via the network interfaceby nobody, everyone in communication with the first household, or usersassociated with other households in a community of households includingthe first household.

As such, a sharing scope may correspond to a sharing option. Forinstance, as shown, the sharing scope of “nobody” has been selected forthe sharing option of “control my queue.” Accordingly, no one (outsideof the first household) has the access rights to control the queue ofthe selected group shown in the group selection box 1104 for thehousehold. In another example, as shown, the sharing scope of“everybody” has been selected for the sharing option of “see what I'mlistening to.” Accordingly, anyone with access to the social interface,and in communication with the first household via a community may viewwhat is being rendered by the selected group in the household. Otherexamples are also possible. For instance, interface 1100 may also enablethe user of the first household to select a community from a pluralityof communities, if the user is a member of multiple communities. Assuch, different sharing options and sharing scope may be set for eachcommunity.

In addition to allowing a user of the first household to view thesharing configurations, the interface 1100 of FIG. 11 may also allow theuser to modify the sharing configurations. For example, the user mayselect a different sharing scope in the sharing scopes 1108 for adifferent sharing option in the sharing options 1106. In such a case,the interface 1100 may further include a selectable icon, such as asubmit button to apply the changes in sharing configurations to theselected group in the household. In another case, any selection of asharing scope or sharing option may automatically be applied to theselected group in the household.

In another example, the user may select a corresponding sharing scopefor each sharing option before selecting a group via the group selectionbox 1104. In such a case, the interface 1100 may be configured to applythe selected sharing configuration to the selected group rather thansimply displaying the sharing configurations of the selected group, asindicated above. Other example implementations of the interface 1100 mayalso be possible.

VIII. Conclusion

The present application discloses various example systems, methods,apparatus, and articles of manufacture including, among othercomponents, firmware and/or software executed on hardware. However, suchexamples are merely illustrative and should not be considered aslimiting. For example, it is contemplated that any or all of thesefirmware, hardware, and/or software components can be embodiedexclusively in hardware, exclusively in software, exclusively infirmware, or in any combination of hardware, software, and/or firmware.Accordingly, while the following describes example systems, methods,apparatus, and/or articles of manufacture, the examples provided are notthe only way(s) to implement such systems, methods, apparatus, and/orarticles of manufacture.

As provided in the embodiments discussed above, the present applicationprovides a social interface for sharing media experience informationbetween households. In one aspect, a method for displaying mediainformation for a household of a community of households on a displayscreen is provided. The method involves displaying on a display screen arepresentation of a zone player group associated with a householdresponsive to receipt of a command to select the household from acommunity of households, and displaying on the display screen arepresentation of media being rendered by the zone player group, whereinthe representation of the media indicates information associated withthe media being rendered.

In another aspect, a non-transitory computer readable medium isprovided. The non-transitory computer readable medium has stored thereoninstructions executable by a computing device to cause the computingdevice to perform functions. The functions include displaying on adisplay screen a representation of a zone player group associated with ahousehold responsive to receipt of a command to select the householdfrom a community of households, and displaying on the display screen arepresentation of media being rendered by the zone player group, whereinthe representation of the media indicates information associated withthe media being rendered.

Additionally, references herein to “embodiment” means that a particularfeature, structure, or characteristic described in connection with theembodiment can be included in at least one example embodiment of theinvention. The appearances of this phrase in various places in thespecification are not necessarily all referring to the same embodiment,nor are separate or alternative embodiments mutually exclusive of otherembodiments. As such, the embodiments described herein, explicitly andimplicitly understood by one skilled in the art, can be combined withother embodiments.

The specification is presented largely in terms of illustrativeenvironments, systems, procedures, steps, logic blocks, processing, andother symbolic representations that directly or indirectly resemble theoperations of data processing devices coupled to networks. These processdescriptions and representations are typically used by those skilled inthe art to most effectively convey the substance of their work to othersskilled in the art. Numerous specific details are set forth to provide athorough understanding of the present disclosure. However, it isunderstood to those skilled in the art that certain embodiments of thepresent disclosure can be practiced without certain, specific details.In other instances, well known methods, procedures, components, andcircuitry have not been described in detail to avoid unnecessarilyobscuring aspects of the embodiments. Accordingly, the scope of thepresent disclosure is defined by the appended claims rather than theforgoing description of embodiments.

When any of the appended claims are read to cover a purely softwareand/or firmware implementation, at least one of the elements in at leastone example is hereby expressly defined to include a tangible mediumsuch as a memory, DVD, CD, Blu-ray, and so on, storing the softwareand/or firmware.

1. A system comprising: a network interface; at least one processor; andat least one non-transitory computer-readable medium storing programinstructions that are executable by the at least one processor such thatthe system is configured to perform functions comprising: causing, viathe network interface, a first device associated with an owner accountto display a first graphical user interface comprising (i) graphicalrepresentations of each media playback system in a particular group thatincludes multiple media playback systems, each media playback systemcomprising one or more zones that include one or more respectiveplayback devices and (ii) graphical representations of one or more firstplayback queues, the one or more first playback queues corresponding torespective first zones of a first media playback system in theparticular group; causing, via the network interface, a second deviceassociated with a non-owner account to display a second graphical userinterface comprising (i) graphical representations of a subset of themedia playback systems in the particular group and (ii) graphicalrepresentations of one or more second playback queues, the one or moresecond playback queues corresponding to respective second zones of asecond media playback system in the subset of the particular group;receiving, via the network interface from the first device, datarepresenting instructions to grant playback permission to the non-owneraccount for the second media playback system, wherein the owner accounthas playback permission for each media playback system in the particulargroup; and modifying configuration data for the second media playbacksystem to permit the non-owner account to modify the one or more secondplayback queues for the second media playback system according to thegrant of playback permission.
 2. The system of claim 1, wherein thefunctions further comprise: after modifying the configuration data forthe second media playback system to permit the non-owner account tomodify the one or more second playback queues for the second mediaplayback system according to the grant of playback permission, updatinga portion of the first graphical user interface to indicate that thenon-owner account has been granted the playback permission for thesecond media playback system.
 3. The system of claim 1, wherein thefunctions further comprise: receiving, via the network interface fromthe first device, data representing selection of a second media playbacksystem of the particular group; and updating the first graphical userinterface to include the graphical representations of one or more secondplayback queues in place of the graphical representations of one or morefirst playback queues.
 4. The system of claim 1, wherein the functionsfurther comprise: receiving, via the network interface from the firstdevice, data representing instructions to withdraw playback permissionfrom the non-owner account for the second media playback system;modifying the configuration data for the second media playback system toprevent the non-owner account from modifying the one or more secondplayback queues for the second media playback system according to thegrant of playback permission; and after modifying the configuration datafor the second media playback system to prevent the non-owner accountfrom modifying the one or more second playback queues for the secondmedia playback system according to the grant of playback permission,updating a portion of the first graphical user interface to indicatethat playback permission has been withdrawn from the non-owner account.5. The system of claim 1, wherein the second graphical user interfacefurther comprises a control comprising graphical representations of theone or more zones; and wherein the functions further comprise:receiving, via the network interface from the second device, datarepresenting selection of particular audio tracks for a playlist; andcausing the playlist to be queued in a particular second playback queuecorresponding to a particular second zone of the second media playbacksystem according to the configuration data for the second media playbacksystem permitting the non-owner account to modify the one or more secondplayback queues.
 6. The system of claim 5, wherein the functions furthercomprise: after causing the playlist to be queued in the particularsecond playback queue corresponding to the particular second zone,updating the first graphical user interface to display an indication ofthe playlist in association with the particular second playback queuecorresponding to the particular second zone.
 7. The system of claim 1,wherein the first graphical user interface further comprises a controlcomprising graphical representations of multiple second zones in thesecond media playback system; and wherein the functions furthercomprise: receiving, via the network interface from the first device,data representing selection of two or more particular second zones for asynchrony group; and creating the synchrony group including the two ormore particular second zones according to configuration data for thesecond media playback system granting group creation permission to theowner account, wherein the two or more particular second zones areconfigured in a synchrony group to play back audio in synchrony aftercreation of the synchrony group.
 8. The system of claim 7, wherein thefunctions further comprise: after creation of the synchrony group:updating the first graphical user interface and the second graphicaluser interface to display respective indications of the synchrony groupin association with the second media playback system.
 9. The system ofclaim 1, wherein the functions further comprise: based on theconfiguration data for the second media playback system permitting thenon-owner account to modify the one or more second playback queues forthe second media playback system according to the grant of playbackpermission, causing the second graphical user interface to includecontrols selectable to select audio content for playback on one or morefirst playback devices.
 10. The system of claim 1, wherein the functionsfurther comprise: maintaining a database comprising respectiveconfiguration data corresponding to multiple groups of media playbacksystems.
 11. A method comprising: causing, via a network interface, afirst device associated with an owner account to display a firstgraphical user interface comprising (i) graphical representations ofeach media playback system in a particular group that includes multiplemedia playback systems, each media playback system comprising one ormore zones that include one or more respective playback devices and (ii)graphical representations of one or more first playback queues, the oneor more first playback queues corresponding to respective first zones ofa first media playback system in the particular group; causing, via thenetwork interface, a second device associated with a non-owner accountto display a second graphical user interface comprising (i) graphicalrepresentations of a subset of the media playback systems in theparticular group and (ii) graphical representations of one or moresecond playback queues, the one or more second playback queuescorresponding to respective second zones of a second media playbacksystem in the subset of the particular group; receiving, via the networkinterface from the first device, data representing instructions to grantplayback permission to the non-owner account for the second mediaplayback system, wherein the owner account has playback permission foreach media playback system in the particular group; and modifyingconfiguration data for the second media playback system to permit thenon-owner account to modify the one or more second playback queues forthe second media playback system according to the grant of playbackpermission.
 12. The method of claim 11, further comprising: aftermodifying the configuration data for the second media playback system topermit the non-owner account to modify the one or more second playbackqueues for the second media playback system according to the grant ofplayback permission, updating a portion of the first graphical userinterface to indicate that the non-owner account has been granted theplayback permission for the second media playback system.
 13. The methodof claim 11, further comprising: receiving, via the network interfacefrom the first device, data representing selection of a second mediaplayback system of the particular group; and updating the firstgraphical user interface to include the graphical representations of oneor more second playback queues in place of the graphical representationsof one or more first playback queues.
 14. The method of claim 11,further comprising: receiving, via the network interface from the firstdevice, data representing instructions to withdraw playback permissionfrom the non-owner account for the second media playback system;modifying the configuration data for the second media playback system toprevent the non-owner account from modifying the one or more secondplayback queues for the second media playback system according to thegrant of playback permission; and after modifying the configuration datafor the second media playback system to prevent the non-owner accountfrom modifying the one or more second playback queues for the secondmedia playback system according to the grant of playback permission,updating a portion of the first graphical user interface to indicatethat playback permission has been withdrawn from the non-owner account.15. The method of claim 11, wherein the second graphical user interfacefurther comprises a control comprising graphical representations of theone or more zones; and wherein the method further comprises: receiving,via the network interface from the second device, data representingselection of particular audio tracks for a playlist; and causing theplaylist to be queued in a particular second playback queuecorresponding to a particular second zone of the second media playbacksystem according to the configuration data for the second media playbacksystem permitting the non-owner account to modify the one or more secondplayback queues.
 16. The method of claim 15, further comprising: aftercausing the playlist to be queued in the particular second playbackqueue corresponding to the particular second zone, updating the firstgraphical user interface to display an indication of the playlist inassociation with the particular second playback queue corresponding tothe particular second zone.
 17. The method of claim 11, wherein thefirst graphical user interface further comprises a control comprisinggraphical representations of multiple second zones in the second mediaplayback system; and wherein the method further comprises: receiving,via the network interface from the first device, data representingselection of two or more particular second zones for a synchrony group;and creating the synchrony group including the two or more particularsecond zones according to configuration data for the second mediaplayback system granting group creation permission to the owner account,wherein the two or more particular second zones are configured in asynchrony group to play back audio in synchrony after creation of thesynchrony group.
 18. The method of claim 17, further comprising: aftercreation of the synchrony group: updating the first graphical userinterface and the second graphical user interface to display respectiveindications of the synchrony group in association with the second mediaplayback system.
 19. The method of claim 11, further comprising: basedon the configuration data for the second media playback systempermitting the non-owner account to modify the one or more secondplayback queues for the second media playback system according to thegrant of playback permission, causing the second graphical userinterface to include controls selectable to select audio content forplayback on one or more first playback devices.
 20. A non-transitorycomputer-readable medium storing program instructions that areexecutable by at least one processor of a computing system such that thecomputing system is configured to perform functions comprising: causing,via a network interface, a first device associated with an owner accountto display a first graphical user interface comprising (i) graphicalrepresentations of each media playback system in a particular group thatincludes multiple media playback systems, each media playback systemcomprising one or more zones that include one or more respectiveplayback devices and (ii) graphical representations of one or more firstplayback queues, the one or more first playback queues corresponding torespective first zones of a first media playback system in theparticular group; causing, via the network interface, a second deviceassociated with a non-owner account to display a second graphical userinterface comprising (i) graphical representations of a subset of themedia playback systems in the particular group and (ii) graphicalrepresentations of one or more second playback queues, the one or moresecond playback queues corresponding to respective second zones of asecond media playback system in the subset of the particular group;receiving, via the network interface from the first device, datarepresenting instructions to grant playback permission to the non-owneraccount for the second media playback system, wherein the owner accounthas playback permission for each media playback system in the particulargroup; and modifying configuration data for the second media playbacksystem to permit the non-owner account to modify the one or more secondplayback queues for the second media playback system according to thegrant of playback permission.